var baseURL = 'https://t.zhaoxuanyun.com/index.php'
/**
 * 统一封装方法
 * @param option
 * @returns {Promise<unknown>}
 */

module.exports = function(options) {
    const loading = setTimeout(() => {
        console.log(111)
        uni.showLoading()
    }, 2000)

    // loading()
    return new Promise(function(resolve, reject) {
        const header = {
            'Cookie': `PHPSESSID=ooeaoqoaa1uvibjj1a57r24b31`,
            'Access-Control-Allow-Origin': '*',
            'Authorization': `${uni.getStorageSync('login_info').type || 'Bearer '} ${uni.getStorageSync('token')}`,
            'Content-type': options?.headers?.contentType ? options.headers?.contentType : 'application/x-www-form-urlencoded'
        }

        // 组合分页参数 拼接入Query String Parameters
        let parameters = ''
        if (options?.pages) {
            Object.keys(options?.pages).map(res => {
                parameters += `&${res}=${options.pages[res]}`
            })
        }
        uni.request({
            url: `${baseURL}?m=mobileapi&a=${options.url}${parameters}`,
            method: options.method,
            data: options.data,
            header: header,
            success: (res) => {
                clearTimeout(loading)
                // 请求到接口前页面展示loading
                uni.showLoading({
                    title: '加载中...',
                    success: function() {
                        // 请求成功
                        // 判断状态码，根据后端定义来判断
                        if (res.data.status == -33) {
                            wx.showToast({
                                title: res.data.msg,
                                icon: 'none'
                            })
                            uni.setStorageSync('isLogin', 0)
                            uni.setStorageSync('uid', '')
                            reject(res.data)
                        } else if (res.data.status) {
                            resolve(res.data)
                        } else {
                            wx.showToast({
                                title: res.data.msg,
                                icon: 'none'
                            })
                            reject(res.data)
                        }
                        resolve(res.data)
                    }
                })
            },
            fail: (err) => {
                // 请求失败
                reject(err)
                uni.showToast({
                    title: '网络繁忙，请稍后重试~',
                    icon: 'none'
                })
            },
            complete: function() {
                // 配对使用（loading消失）
                uni.hideLoading()
            }
        })
    })
}

